% Ejemplo de invocaci??n
% rk4(0,48,10,48,'f1');
% como ultimo parametro recibe la funci??n del modelo
% estan disponibles f1 y f2 (el que tiene u)


% Parametros de Runge kutta-4
a = 0;
b = 48;
ya = 10;
h = 0.01;
func = 'f1';

% modelo de simulaci??n
kArr=[0.25,0.5,1,2,5,10,15,20];
global ku;
global k;
global TOUT_M;
global TD;

TD=20;
TOUT_M=10;
ku=0.7;

% labels y formato para las curvas de temperatura
colors = {'b--', 'b+', 'b*', 'bo', 'bx', 'bd', 'bs', 'b^'};
labels = {'k=1/4','k=1/2','k=1','k=2','k=5','k=10','k=15','k=20', 'Tout(t)'};


%subplot de 3 rows, 1 columna, nos paramos en el primer cuadrante (3er argumento)
%subplot(3, 1, 1);
% Curvas de la temperatura T(t) para distintos valores de k
for i=1:length(kArr)
k=kArr(i);
RK = rk4gral(a,b,ya,h,func);
leng=length(RK(:,1));
p(i) = plot(RK(1:50:leng,1),RK(1:50:leng,2), colors{i});
hold on;
end

ind=(1:length(labels));

% adiciona la curva de la temperatura externa
Tout(RK(:,1))
p(i+1) = plot(RK(:,1), Tout(RK(:,1)),'r-');
legend(p(ind), labels{ind}, 'Location', 'NorthEastOutside');
 
% parametros del grafico
%title('Temperatura del Sistema T(t) para distintos valores de k y Temperatura Exterior Tout(t)')
xlabel('Tiempo (s)');
ylabel('Temperatura (C)');
axis([0, 50, 0, 30]);
 
hold off;